#!/usr/bin/perl
#
# Przygotowanie korpusu do wydruku z TeXa

use strict;
use vars qw($preint $forma $haslo $frektag $glotag $postint 
	    $numprobki $numwiersza $opisbibl);


print <<'EOS';
%%%%& --translate-file=cp1250pl
\documentclass[wide]{mwart}
\usepackage{polski,qtimes}
\usepackage[cp1250]{inputenc}

\newenvironment*{probka}[2]{\par\pagebreak[2]%
  \noindent\textbf{#1}\quad{\footnotesize #2}\par\smallskip}{\par\bigskip}
\def\^{\texttt{\char`\^}} %`
\newcommand*\kod[1]{\nobreak\hskip0pt\textsuperscript{\tt #1}}
%\newcommand*\kod[1]{}
\newcommand*\texttilde{\texttt{\char`\~}} %`

\begin{document}
\emergencystretch4pt

EOS

while (<>) {
    chomp;
#      1      2                                3         4         5          6
if (m/^([(\204]+)?([-a-z\212\232A-Zʣӌ \'\341\350\351\366\374]+)\[([^\[,]*),([^\[,]*),([^\[,]*)\]([).?!,;:\224]+)?$/o) { 
    $preint=$1;
    $forma=$2;
    $haslo=$3;
    $frektag=$4;
    $glotag=$5;
    $postint=$6;
    (print STDERR "Pusta linia wewntrz prbki (l. $.)\n"), $numprobki=0
  	if !defined($numprobki);
    $numwiersza++;
    # tutaj gwny print!
    my $wypis;
    $wypis = "$preint$forma".($frektag?"\\kod{$frektag}":'') ."$postint\n";
    $wypis =~ s/-/\\dywiz /g;
    print $wypis;
 } elsif (m/^(\.\.\.?\)?\.?|--|\227)$/ ||
	  m/^\(?\[[>&\#^~]\]\)?[,.]?$/ ) {
     # czy te s dopuszczalne???
     # print!
     s/&/\\&/g;
     s/#/\\#/g;
     s/\^/\\^/g;
     s/~/\\texttilde/g;
     print "$_\n";
 } elsif (m/^([ABCDE][0-9]+)~(.*)$/) {
     # nagwek prbki!
     $numprobki=$1;
     $opisbibl=$2;
     $numwiersza=0;
     # print!
     $opisbibl =~ s/~/\\quad /g;
     print "\\begin{probka}{$numprobki}{$opisbibl}\n";
 } elsif ($_ eq '') {
     print "\\end{probka}\n";
     undef $numprobki;
 } else {
     print STDERR "$numprobki:$_\n";
     s/&/\\&/g;
     s/#/\\#/g;
     s/\^/\\^/g;
     s/~/\\texttilde/g;
     print "$_\n";
 }

}

print <<'EOS';
\end{document}
EOS
